//package com.infoland.afanmall.wxapi;
//
//import android.app.Activity;
//import android.os.Bundle;
//import android.support.annotation.Nullable;
//
//import com.alibaba.fastjson.JSONObject;
//import com.blankj.utilcode.util.ToastUtils;
//import com.infoland.afanmall.base.util.CONST;
//import com.infoland.afanmall.base.util.HttpUtils;
//import com.infoland.afanmall.base.util.LogKit;
//import com.infoland.afanmall.base.util.UserKit;
//import com.infoland.afanmall.model.my.entity.UserAccessEntity;
//import com.tencent.mm.opensdk.modelbase.BaseReq;
//import com.tencent.mm.opensdk.modelbase.BaseResp;
//import com.tencent.mm.opensdk.openapi.IWXAPI;
//import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
//import com.zhy.http.okhttp.OkHttpUtils;
//import com.zhy.http.okhttp.callback.StringCallback;
//
//import okhttp3.Call;
//
//public class WXEntryActivity2 extends Activity implements IWXAPIEventHandler {
//    public static IWXAPI wxapi;
//    private static final int RETURN_MSG_TYPE_LOGIN = 1;
//    private static final int RETURN_MSG_TYPE_SHARE = 2;
//    UserAccessEntity userLoginEntity;
//
//    @Override
//    protected void onCreate(@Nullable Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        //如果没回调onResp，八成是这句没有写
//        wxapi.handleIntent(this.getIntent(), this);
//    }
//
//    // 微信发送请求到第三方应用时，会回调到该方法
//    @Override
//    public void onReq(BaseReq req) {
//        LogKit.E("  BaseReq ", "  ..............." + req);
//    }
//
//    @Override
//    public void onResp(BaseResp resp) {
////        LogKit.E("baseResp:", JSONObject.toJSONString(resp));
//        switch (resp.errCode) {
////            发送成功
//            case BaseResp.ErrCode.ERR_OK:
//                getAccessToken(JSONObject.parseObject(JSONObject.toJSONString(resp), CodeEntity.class));
//                break;
////            发送取消
//            case BaseResp.ErrCode.ERR_USER_CANCEL:
//                loginToErro();
//                finish();
//                break;
////            发送被拒绝
//            case BaseResp.ErrCode.ERR_AUTH_DENIED:
//                loginToErro();
//                finish();
//                break;
////            发送返回
//            default:
//                loginToErro();
//                finish();
//                break;
//        }
//
//    }
//
//    /***获取AccessToken信息**/
//    private void getAccessToken(CodeEntity codeEntity) {
//        LogKit.E("  getAccessToken ", "  getAccessToken");
//        if (CONST.WEIXIN_STATE.equals(codeEntity.getState())) {
//            OkHttpUtils.get().url("https://api.weixin.qq.com/sns/oauth2/access_token")
//                    .addParams("appid", CONST.WEIXIN_APP_ID)
//                    .addParams("secret", CONST.WEIXIN_APP_SECRET)
//                    .addParams("code", codeEntity.getCode())
//                    .addParams("grant_type", CONST.WEIXIN_GRANT_TYPE)
//                    .build()
//                    .execute(new StringCallback() {
//                        @Override
//                        public void onSuccess(Call call, Exception e, int id) {
//                            loginToErro();
//                        }
//
//                        @Override
//                        public void onResponse(String response, int id) {
//                            //拿到access_token 去请求个人信息
//                            getUserIngo(JSONObject.parseObject(response, AccessTokenEntity.class));
//                        }
//                    });
//        } else {
//            ToastUtils.showShort("参数信息错误");
//        }
//
//    }
//
//    /***获取用户信息**/
//    private void getUserIngo(AccessTokenEntity accessTokenEntity) {
//        LogKit.E("  getUserIngo ", "  getUserIngo");
//        OkHttpUtils.get()
//                .url("https://api.weixin.qq.com/sns/userinfo")
//                .addParams("access_token", accessTokenEntity.getAccess_token())
//                .addParams("openid", accessTokenEntity.getOpenid())//openid:授权用户唯一标识
//                .build()
//                .execute(new StringCallback() {
//                    @Override
//                    public void onSuccess(Call call, Exception e, int id) {
//                        loginToErro();
//                    }
//
//                    @Override
//                    public void onResponse(String response, int id) {
//                        LogKit.E("微信账号信息--->", "  " + response);
//                        WxUserInFoEntity userInFoEntity = JSONObject.parseObject(response, WxUserInFoEntity.class);
//                        loginToYes(userInFoEntity);
////                        LogUtils.e(response);
//                    }
//                });
//    }
//
//    /***获取登录信息*/
//    private void loginToYes(WxUserInFoEntity userInFoEntity) {
//        LogKit.E("  loginToYes ", "  loginToYes");
//        String url = CONST.HTTP + CONST.WEI_XIN_LOGIN;
//        JSONObject para = new JSONObject();
//
//        para.put("openid", userInFoEntity.getOpenid());
//        para.put("unionid", userInFoEntity.getUnionid());
//        para.put("headimgurl", userInFoEntity.getHeadimgurl());
//        para.put("nickname", userInFoEntity.getNickname());
//        para.put("sex", userInFoEntity.getSex());
//
//
//        new HttpUtils(new HttpUtils.HttpOkLinster() {
//            @Override
//            public void onSuccess(Call call, Exception e, int id) {
//                loginToErro();
//                LogKit.E(" 登录 Exception e  ", "  " + e.getMessage());
//            }
//
//            @Override
//            public void onResponse(String response, int code) {
//                LogKit.E("微信登录--->", "  " + response);
//                if (code == 200) {
//                    userLoginEntity = JSONObject.parseObject(response, UserAccessEntity.class);
//                    if (userLoginEntity.isSuccess()) {
//                        loginToYes();
//                        /***开始登录*/
//                        finish();
//                    } else {
//                        loginToErro();
//                    }
//                } else {
//                    loginToErro();
//                }
//            }
//        }).POST(url, para);
//    }
//
//
//    /***修改登录状态--成功*/
//    private void loginToYes() {
//        UserKit.setUserCacheYes(userLoginEntity.getObject().getAccess_token(), userLoginEntity.getObject().getRefresh_token());
//    }
//
//    /***修改登录状态--错误*/
//    private void loginToErro() {
//        UserKit.putIsLogin(false);
//        finish();
//        ToastUtils.showShort("登录失败");
//    }
//
//}
//
